#pragma once
#include<stdio.h>
#include<stdlib.h>
#include<assert.h>
#include<stdbool.h>
#include<string.h>
#include"Contact.h" 

//动态顺序表
//typedef  int SLDataType;//顺序表元素类型
typedef CInfo SLDataType;//a的类型设置成联系人数据的结构体
//typedef struct ContactInfo SLDataType;
//定义一个顺序表,并重命名为SL
typedef struct SeqList
{
    SLDataType* a;
    int size; //有效数据个数
    int capacity; //当前空间大小
}SL;

//初始化/销毁 顺序表
void SLInit(SL* ps);
void SLDestroy(SL* ps);

//头插/尾插/头删/尾删
void SLPushFront(SL* ps,SLDataType x);
void SLPushBack(SL* ps,SLDataType x);
void SLPopFront(SL*ps);
void SLPopBack(SL*ps);

//打印
void SLPrint(SL*ps);

//判断顺序表是否为空
bool SLIsEmpty(SL*ps);

//指定位置插入/删除
void SLInsert(SL*ps,int pos,SLDataType x);
void SLErase(SL*ps,int pos);

//查找是否有这个元素
bool SLFind (SL*ps,SLDataType x);